﻿using OdsServer.Common.DataTransfer;
using OdsServer.Common.Packet;

namespace OdsServer.DataTransfer
{
    internal delegate void DataPublisherFaultDelegate(object sender, DataTransferException e);

    internal interface IDataPublisherAgent
    {
        bool IsActive { get; }
        void StartAgent();
        void StopAgent();
        void Publish(object sender, IBasePacket data);
        void ReportFault(DataTransferException e);

        event DataPublisherFaultDelegate OnFault;
    }
}